Preface
4
$ command --option value --another-option another-value
output line 1
output line 2
output line 3
[...]
If you fancy some historical information, the dollar sign used for the prompt was apparently first
introduced in Version 7 Unix, released in 1979 by Bell Labs, as that was the first version to be shipped
with the Bourne shell. So much for long-lasting choices!
Discrimination of fruit-labelled products
Mac OS is the Unix-like operating system with the largest desktop user base among programmers, as
many have an Apple notebook as their primary device. I’m not one of them, and I was very surprised
to find out that the shell provided by Mac OS is only partially compatible with the traditional bash
shell provided by Linux distributions. In particular, the core utilities of Mac OS are not the GNU
ones, so many command line options are not present, or different.
As I want to publish this book before I retire, I will go for the simplest solution. I won’t provide
examples or explanations for the Mac OS terminal, I’m sorry. If you are using a Mac, either for
your personal choice or because of some external constraint, you will have to look for some specific
solutions online.
For the time being, I will provide instructions to run a Linux machine in a Docker container, so
everybody can follow the lessons and enjoy the book. Maybe in the future I will provide some
coverage of non-GNU versions of the standard utilities, but now this is too complex a task for me.
Despite the mocking tone, I’m really sorry I can’t provide instructions for every case! The good
news is that, while the single commands have different options the overall concepts are the same, so
reading the book and learning how to use commands, how to find help on them and how to compose
them in scripts will be extremely useful even for Mac OS users.
Why this book comes for free
The first reason I started writing a technical blog was to share with others my discoveries, and to
save them the hassle of going through processes I had already cracked. Moreover, I always enjoy
the fact that explaining something forces me to better understand that topic, and writing requires
even more study to get things clear in my mind, before attempting to introduce other people to the
subject.
Much of what I know comes from personal investigations, but without the work of people who
shared their knowledge for free I would not have been able to make much progress. The Free
Software Movement didn’t start with Internet, and I got a taste of it during the 80s and 90s, but the